Historically, distributed storage involving multiple nodes has involved significant autonomy residing within each node. Local cache management ties in with patterns of local data access and will be relevant only to one node and not to others in a distributed system. Cooperative caching between nodes has been attempted in different manners, but a useful degree of efficiency in making use of distributed resources has still been elusive.